Repository navigation
Native Windows gate/test support, gate result reader, wsl-run helper - #792
Merged
Merged
Conversation
…indows host pipes it in Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…ntmatter Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…stead of retrying Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…st before a gate Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…t re-quoting; skip mode-bit cases natively Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…y hints, strengthen tests (gate-20261110-231557 findings) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…st pmctl-mode forwarding and --base (gate-20261110-235208 findings) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…'s axes after repository drift Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…n native Windows Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…-pass policy Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…ck and path lints Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…lt asserts policy_applicable Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
…lback picks the newest non-empty result Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes the PR gate and the test suite usable from native Windows (Git Bash) and fixes gate-reader problems found while doing it.
gate wait/statusname the published result when the sentinel key is gone (exit stays 3, never success); newpmctl gate result <id|file>prints verdicts, conclusion and the three verify axes, and falls back to the newest non-empty result.Quota exhaustion is reported as
executor quota exhausted: <line>with no retry and no reviewer switch;gate.reviewer_executorconfig pins the reviewer.pmctl gate mutations --previewlists touched tests and the mutation checklist (NUL-safe file names).ops/diagnostics/wsl-run.shdrives WSL from a native Windows session with arguments and exit status preserved.Hook reads its payload without
/dev/stdin(failed on every prompt from a Windows host).Tests: capability-based skips (
th_require_*) with stated reasons,grep -Ficrash avoided, path-spelling fixes; docs indocs/platform-support.mdanddocs/review-model.md.Permanent test admissions: gate rounds 1-6 on this branch each produced findings whose remedy was a new case, assessed against the six criteria. Admitted (criteria 1-6 met; layer: the command/library level, observing stdout, exit status and files through the public
pmctl gate/wsl-run.shentry points): quota-exhausted classification and the reviewer-executor config pin (test-pr-gate.sh),gate resultaxes after repository drift and its fallback to the newest non-empty result (test-pmctl-gate.sh, test-gate-lifecycle.sh),gate mutations --previewincl. a non-ASCII test name (test-gate-lifecycle.sh), wsl-run script/pmctl argument and exit-status round trip (test-run-tests-in-wsl.sh, native Windows only). Alternatives taken: the fallback cases were folded into the existing sentinel-key case instead of a new matrix, and qa-tester's request for every absent/stale/empty/multiple-candidate variant was declined as boundary-only (criterion 2) with the user's agreement; the advisories (JSON-first verdicts, adapter-declared stderr path) were left as follow-ups.Verification
gate resultverdicts from embedded JSON rather than headings; quota evidence from the adapter-declared stderr path;gate waitshows only the first policy-floor error line.🤖 Generated with Claude Code
https://claude.ai/code/session_01ESW7P8BvZ5Crn6vi6EA2J7